home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / magicbio.d < prev    next >
Text File  |  1997-10-26  |  5KB  |  139 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *         MAGIC   Modula's  All purpose  GEM  Interface  Cadre         *
  4.  *                 ÿ         ÿ            ÿ    ÿ          ÿ             *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus in schrift-  *
  11.  * licher Form, insbesondere in Zeitschriften, sowie die Verbreitung    *
  12.  * ber Public-Domain-H„ndler bedarf der ausdrcklichen schriftlichen   *
  13.  * Genehmigung des Autors!                                              *
  14.  *                                                                      *
  15.  * Der Autor gibt hiermit die ausdrckliche Erlaubnis, das Modul jeder- *
  16.  * zeit auch im Quelltext weiterzugegeben, sofern dessen Text und ins-  *
  17.  * besondere dieser Urheberrechts-Vermerk nicht ver„ndert wird, und     *
  18.  * durch die Weitergabe kein finanzieller Nutzen entsteht. Der Autor    *
  19.  * beh„lt sich das Recht vor, diese Erlaubnis jederzeit u. ohne Angaben *
  20.  * von Grnden zu widerrufen.                                           *
  21.  *----------------------------------------------------------------------*)
  22.  
  23. (*----------------------------------------------------------------------*
  24.  * MagicBIOS    Basic Input Output System            Modula-2 Interface *
  25.  *----------------------------------------------------------------------*)
  26.  
  27. DEFINITION MODULE MagicBIOS;
  28.  
  29. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  30.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  31.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  32.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  33.  
  34.  
  35.  
  36.  
  37.  
  38. FROM SYSTEM IMPORT  ADDRESS;
  39. FROM MagicTypes IMPORT  PtrPD;
  40.  
  41. TYPE    PtrMD =         POINTER TO MD;
  42.         MD =            RECORD
  43.                          mLink:   PtrMD;
  44.                          mStart:  ADDRESS;
  45.                          mLength: lCARDINAL;
  46.                          mOwn:    PtrPD;
  47.                         END;
  48.  
  49. TYPE    PtrMPB =        POINTER TO MPB;
  50.         MPB =           RECORD           (* memory parameter block *)
  51.                          mpMfl:   PtrMD; (* memory free list *)
  52.                          mpMal:   PtrMD; (* memory allocated list *)
  53.                          moRover: PtrMD; (* roving pointer *)
  54.                         END;
  55.  
  56. PROCEDURE Getmpb (VAR mpb: ADDRESS);
  57.  
  58.  
  59. CONST   PRT =           0;
  60.         AUX =           1;
  61.         CON =           2;
  62.         MIDI =          3;
  63.         IKBD =          4;
  64.         RAWCON =        5;
  65.  
  66. PROCEDURE Bconstat (device: sINTEGER): BOOLEAN;
  67.  
  68. PROCEDURE Bconin (device: sINTEGER): lCARDINAL;
  69.  
  70. PROCEDURE Bconout (device: sINTEGER; c: CHAR);
  71.  
  72.  
  73. CONST   DrvA =           0;
  74.         DrvB =           1;
  75.         DrvC =           2;
  76.         DrvD =           3;
  77.         DrvE =           4;
  78.         DrvF =           5;
  79.         DrvG =           6;
  80.         DrvH =           7;
  81.         DrvI =           8;
  82.         DrvJ =           9;
  83.         DrvK =          10;
  84.         DrvL =          11;
  85.         DrvM =          12;
  86.         DrvN =          13;
  87.         DrvO =          14;
  88.         DrvP =          15;
  89.  
  90. CONST   Read =          0;
  91.         Write =         1;
  92.         ReadNoMC =      2;
  93.         WriteNoMC =     3;
  94.  
  95. PROCEDURE Rwabs (rw: sINTEGER; buf: ADDRESS; count, recno, dev: sINTEGER): lINTEGER;
  96.  
  97. PROCEDURE Setexc (vecnum: sINTEGER; vec: ADDRESS): ADDRESS;
  98.  
  99. PROCEDURE Tickcal (): lCARDINAL;
  100.  
  101.  
  102. TYPE    PtrBPB =        POINTER TO BPB; (* BIOS Parameter Block *)
  103.         BPB =           RECORD
  104.                          recsiz: sCARDINAL;
  105.                          clsiz:  sCARDINAL;
  106.                          clsizb: sCARDINAL;
  107.                          rdlen:  sCARDINAL;
  108.                          fsiz:   sCARDINAL;
  109.                          fatrec: sCARDINAL;
  110.                          datrec: sCARDINAL;
  111.                          numcl:  sCARDINAL;
  112.                          bflags: sCARDINAL;
  113.                         END;
  114.  
  115.  
  116. PROCEDURE Getbpb (drive: sINTEGER): ADDRESS;
  117.  
  118. PROCEDURE Bcostat (device: sINTEGER): BOOLEAN;
  119.  
  120. PROCEDURE Mediach (dev: sINTEGER): sINTEGER;
  121.  
  122. PROCEDURE Drvmap (): lBITSET;
  123.  
  124.  
  125. CONST   KRSHIFT =       Bit0;   (* Tastatur-Status *)
  126.         KLSHIFT =       Bit1;
  127.         KCTRL =         Bit2;
  128.         KALT =          Bit3;
  129.         KCAPS =         Bit4;
  130.         KRMOUSE =       Bit5;
  131.         KLMOUSE =       Bit6;
  132.         KRESERVED =     Bit7;
  133.  
  134. PROCEDURE Kbshift (keys: sBITSET): sBITSET;
  135.  
  136.  
  137. END MagicBIOS.
  138.  
  139.